(function($){
    $.fn.validationEngineLanguage = function(){
    };
    $.validationEngineLanguage = {
        newLang: function(){
            $.validationEngineLanguage.allRules = {
                "required": { // Add your regex rules here, you can take telephone as an example
                    "regex": "none",
                    "alertText": "* 此处不可空白",
                    "alertTextCheckboxMultiple": "* 请选择一个项目",
                    "alertTextCheckboxe": "* 您必须钩选此栏",
                    "alertTextDateRange": "* 日期范围不可空白"
                },
                "requiredInFunction": { 
                    "func": function(field, rules, i, options){
                        return (field.val() == "test") ? true : false;
                    },
                    "alertText": "* Field must equal test"
                },
                "dateRange": {
                    "regex": "none",
                    "alertText": "* 无效的 ",
                    "alertText2": " 日期范围"
                },
                "dateTimeRange": {
                    "regex": "none",
                    "alertText": "* 无效的 ",
                    "alertText2": " 时间范围"
                },
                "minSize": {
                    "regex": "none",
                    "alertText": "* 最少 ",
                    "alertText2": " 个字符"
                },
                "maxSize": {
                    "regex": "none",
                    "alertText": "* 最多 ",
                    "alertText2": " 个字符"
                },
				"groupRequired": {
                    "regex": "none",
                    "alertText": "* 你必需选填其中一个栏位"
                },
                "min": {
                    "regex": "none",
                    "alertText": "* 最小值為 "
                },
                "max": {
                    "regex": "none",
                    "alertText": "* 最大值为 "
                },
                "past": {
                    "regex": "none",
                    "alertText": "* 日期必需早于 "
                },
                "future": {
                    "regex": "none",
                    "alertText": "* 日期必需晚于 "
                },	
                "maxCheckbox": {
                    "regex": "none",
                    "alertText": "* 最多选取 ",
                    "alertText2": " 个项目"
                },
                "minCheckbox": {
                    "regex": "none",
                    "alertText": "* 请选择 ",
                    "alertText2": " 个项目"
                },
                "equals": {
                    "regex": "none",
                    "alertText": "* 请输入与上面相同的密码"
                },
                "creditCard": {
                    "regex": "none",
                    "alertText": "* 无效的信用卡号码"
                },
                "phone": {
                    // credit: jquery.h5validate.js / orefalo
                    "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,
                    "alertText": "* 无效的电话号码"
                },
                "email": {
                    // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
                    "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
                    "alertText": "* 邮件地址无效"
                },
                "integer": {
                    "regex": /^[\-\+]?\d+$/,
                    "alertText": "* 不是有效的整数"
                },
                "number": {
                    // Number, including positive, negative, and floating decimal. credit: orefalo
                    "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
                    "alertText": "* 无效的数字"
                },
                "date": {
                    "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
                    "alertText": "* 无效的日期，格式必需为 YYYY-MM-DD"
                },
                "ipv4": {
                    "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
                    "alertText": "* 无效的 IP 地址"
                },
                "url": {
                    "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
                    "alertText": "* Invalid URL"
                },
                "onlyNumberSp": {
                    "regex": /^[0-9\ ]+$/,
                    "alertText": "* 只能填数字"
                },
                "onlyLetterSp": {
                    "regex": /^[a-zA-Z\ \']+$/,
                    "alertText": "* 只接受英文字母大小写"
                },
				"onlyLetterAccentSp":{
                    "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
                    "alertText": "* 只接受英文字母大小写"
                },
                "onlyLetterNumber": {
                    "regex": /^[0-9a-zA-Z]+$/,
                    "alertText": "* 不接受特殊字符"
                },
                // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
                "ajaxUserCall": {
                    "url": "ajaxValidateFieldUser",
                    // you may want to pass extra data on the ajax call
                    "extraData": "name=eric",
                    "alertText": "* 此名称已被其他人使用",
                    "alertTextLoad": "* 正在确认名称是否有其他人使用，请稍等。"
                },
				"ajaxUserCallPhp": {
                    "url": "phpajax/ajaxValidateFieldUser.php",
                    // you may want to pass extra data on the ajax call
                    "extraData": "name=eric",
                    // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                    "alertTextOk": "* 此帐号名称可以使用",
                    "alertText": "* 此名称已被其他人使用",
                    "alertTextLoad": "* 正在确认帐号名称是否有其他人使用，请稍等。"
                },
                "ajaxNameCall": {
                    // remote json service location
                    "url": "ajaxValidateFieldName",
                    // error
                    "alertText": "* 此名称可以使用",
                    // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                    "alertTextOk": "* 此名称已被其他人使用",
                    // speaks by itself
                    "alertTextLoad": "* 正在确认名称是否有其他人使用，请稍等。"
                },
				 "ajaxNameCallPhp": {
	                    // remote json service location
	                    "url": "phpajax/ajaxValidateFieldName.php",
	                    // error
	                    "alertText": "* 此名称已被其他人使用",
	                    // speaks by itself
	                    "alertTextLoad": "* 正在确认名称是否有其他人使用，请稍等。"
	                },
                "validate2fields": {
                    "alertText": "* 请输入 HELLO"
                },
	            //tls warning:homegrown not fielded 
                "dateFormat":{
                    "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
                    "alertText": "* 无效的日期格式"
                },
                //tls warning:homegrown not fielded 
				"dateTimeFormat": {
	                "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
                    "alertText": "* 无效的日期或时间格式",
                    "alertText2": "可接受的格式： ",
                    "alertText3": "mm/dd/yyyy hh:mm:ss AM|PM 或 ", 
                    "alertText4": "yyyy-mm-dd hh:mm:ss AM|PM"
	            },
	            "isNumberOr_OrLetterFirst":{
	            	"regex":/^[a-zA-Z][a-zA-Z0-9_]*$/,
	            	"alertText": "只能输入英文字母、数字、下划线_，且以字母开头 例如：aads_73736jehwury_"
	            },
	            "isSpacailChar":{
	            	"regex":"^`/!@#$%^&amp; ',.*():{}[] <>",
	            	"alertText":"输入的内容含有特殊字符"
	            },
	            "isNull":{
	            	"regex":"^[ ]+$",
	            	"alertText":"输入的内容为空或者内容全是空格"
	            },
	            "isInteger":{
	            	"regex":/^[-]{0,1}[0-9]{1,}$/,
	            	"alertText":"请输入整数\n 例如：-1,2,59"
	            },
	            "isNumber":{
	            	"regex":"^[0-9]+$",
	            	"alertText":"请输入正整数\n 例如：1,2,25"
	      
	            },
	            "isDouble":{
	            	"regex":/^-?\d*\.?\d*$/,
	            	"alertText":"请输入整数或小数\n 例如: 1,2,2.25,0.78"
	            },
	            "isDouble4":{
	            	"regex":/^[0-9]+([.]{1}[0-9]{1,4})?$/,
	            	"alertText":"只能输入最多含4位小数的数字"
	            },
	            "isDouble12":{
	            	"regex":/^[0-9]+([.]{1}[0-9]{1,12})?$/,
	            	"alertText":"只能输入最多含12位小数的数字"
	            },
	            "isDecimalValue":{
	            	"regex":/^0\.([1-9][0-9]?|[0-9][1-9])$/,
	            	"alertText":"只能输入最多含2位小数的数字"
	            },
	            "isDouble2":{
	            	"regex":/^[0-9]+([.]{1}[0-9]{1,2})?$/,
	            	"alertText":"只能输入最多含2位小数的数字"
	            },
	            "isDecimal":{
	            	"regex":/^[-]{0,1}(\d+)[\.]+(\d+)$/,
	            	"alertText":"请输入小数 \n 例如：-1.344,5.9939"
	            },
	            "isDecimalNotNavigate":{
	            	"regex":"^\\d+(\\.\\d+)?$",
	            	"alertText":"请输入非负数 \n 例如：1.344,5.9939"
	            },
	            "isMoney":{
	            	"regex":"^[0-9]+[\.][0-9]{0,3}$",
	            	"alertText":"只能输入带三位的小数\n 例如：223.777"
	            },
	            "isOracle_KeyWords":{
	            	"func":function(field, rules, i, options){
	            		var keywords = "ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR"+
						"CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT"+
						"DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE"+
						"EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED"+
						"IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT"+
						"INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE"+
						"MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON"+
						"ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW"+
						"RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION"+
						"SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE"+
						"THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES"+
						"VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH";
	            		var str = $(field).val();
						var ts = keywords.split(" ");
						for(var i=0;i<ts.length;i++ ){
							if(ts[i]==str.toUpperCase()){
								return  false;//已存在该字段
							}else{
								return true;
							}	
						}
	            	},
	            	"alertText":"该字段一再列表中存在，请换个名再试"
	            },
	            "isNumberOr_Letter":{
	            	"regex":"^[0-9a-zA-Z\_]+$",
	            	"alertText":"只能输入英文字母、数字和下划线\n 例如：1213aads_73736jehwury"
	            },
	            "isNumberOr_Letter3":{
	            	"regex":"^[0-9a-zA-Z\_\/\(\)]+$",
	            	"alertText":"只能输入英文字母、数字、括号、/和下划线\n 例如：1213aads_73736jehwury////"
	            },
	            "isNumberOr_-Letter":{
	            	"regex":"^[0-9a-zA-Z\_\-]+$",
            		"alertText":"只能输入英文字母、数字,横线和下划线\n 例如：1213aads_737-36jehwury"	
	            },
	            "isNumberOr_Letter2":{
	            	"regex":"^[0-9a-zA-Z\_\-]+$",
	            	"alertText":"只能输入英文字母、数字,横线和下划线\n 例如：1213aads_737-36jehwury"	
	            },
	            "isNumberOrLetter":{
	            	"regex":"^[0-9a-zA-Z]+$",
	            	"alertText":"只能输入英文字母和数字 \n 例如：1213aads"	
	            },
	            "isNumberOrLetterP":{
	            	"regex":"^[//0-9a-zA-Z]+$",
	            	"alertText":"只能输入英文字母和数字及“/” \n 例如：1213/aads"	
	            },
	            "isChinaOrNumbOrLett":{
	            	"regex":"^[0-9a-zA-Z\u4e00-\u9fa5]+$",
	            	"alertText":"只能输入汉字、字母和数字"	
	            },
	            "isChinaOrNumbOrLett2":{
	            	"regex":"^[0-9a-zA-Z\u4e00-\u9fa5\/\_\(\)]+$",
	            	"alertText":"只能输入汉字、字母、数字、/、（）和_"	
	            },
	            "isChina":{
	            	"regex":"^[\u4E00-\u9FA5]{0,50}$",
	            	"alertText":"只能输入汉字并且长度应该小于50"	
	            },
	            "isChina25":{
	            	"regex":"^[\u4E00-\u9FA5]{0,25}$",
	            	"alertText":"只能输入汉字并且长度应该小于等于25"	
	            },
	            "isNubermChar":{
	            	"regex":"^[0-9\%\.]+$",
	            	"alertText":"只能输入数字和%号"	
	            },
	            "isChinaOrNumb_OrLett2":{
	            	"regex":"^[0-9a-zA-Z\u4e00-\u9fa5\_\/\*\-]+$",
	            	"alertText":"只能输入汉字、字母、数字、下划线和横线\n 例如：你好_737-ehwury"	
	            },
	            "isChinaOrNumb_OrLett2OrBracket":{
	            	"regex":"^[\(\)\（\）\\0-9a-zA-Z\u4e00-\u9fa5\_\/\*\-]+$",
	            	"alertText":"只能输入汉字、字母、数字、下划线、横线和小括号"	
	            },
	            "isChinaOrNumb_OrLett3":{
	            	"regex":"^[0-9a-zA-Z\u4e00-\u9fa5\-\/\——]+$",
	            	"alertText":"只能输入汉字、字母、数字和中英文横线\n 例如：你好737-ehwury"	
	            },
	            "isChinaOrNumb_OrStarLett2":{
	            	"regex":"^[\\0-9a-zA-Z\u4e00-\u9fa5\_\(-)*\-]+$",
	            	"alertText":"只能输入汉字、字母、数字、下划线、横线、斜线、反斜线、星号\n 例如：你好_737-eh/wu\ry*js"	
	            },
	            "isChinaOrNumb_OrLettOrLine2":{
	            	"regex":"^[\\0-9a-zA-Z\u4e00-\u9fa5\_\-]+$",
	            	"alertText":"只能输入汉字、字母、数字、'%'、'_'、'-'、'/'"	
	            },
	            "isChinaOrNumb_OrLettOrLine2OrBracket":{
	            	"regex":"^[\(\)\（\）\\0-9a-zA-Z\u4e00-\u9fa5\_\-]+$",
	            	"alertText":"只能输入汉字、字母、数字、'()'、'_'、'-'、'/'"	
	            },
	            "postcode":{
	            	"regex":/^[1-9]\d{5}$/,
	            	"alertText":"该输入项目必须是邮政编码格式，例如：226001"	
	            },
	            "ip":{
	            	"regex":/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,
	            	"alertText":"该输入项目必须是IP地址格式，例如：222.192.42.12"	
	            },
	            "fax":{
	            	"regex":/(^\d{3}\-\d{7,8}$)|(^\d{4}\-\d{7,8}$)|(^\d{3}\d{7,8}$)|(^\d{4}\d{7,8}$)|(^\d{7,8}$)/,
	            	"alertText":"该输入值必须是传真格式，例如：0513-89500414,051389500414,89500414"	
	            },
	            "telephone":{
	            	"regex":/(^\d{3}\-\d{7,8}$)|(^\d{4}\-\d{7,8}$)|(^\d{3}\d{7,8}$)|(^\d{4}\d{7,8}$)|(^\d{7,8}$)/,
	            	"alertText":"该输入项目必须是电话号码格式，例如：0513-89500414,051389500414,89500414"	
	            },
	            "mobile":{
	            	"regex":/^1[35][0-9]\d{8}$/,
	            	"alertText":"该输入项目必须是手机号码格式，例如：13485135075"	
	            },
	            "isNumberOrLetterAndSpace":{
	            	"regex":"^[0-9a-zA-Z][0-9a-zA-Z ]*$",
	            	"alertText":"只能输入英文字母和数字和空格 \n 例如：12 as 13 ds   "	
	            },
	            "isQuotationChineseMarks":{
	            	"regex":/[\u4e00-\u9fa5]|\'|\"/,
	            	"alertText":"输入的内容含有特殊字符英文单引号(')或者英文双引号(\")或者中文汉字"	
	            },
	            "isLessThan":{
	            	"regex":/<|^[ ]+$/,
	            	"alertText":"输入的内容含有特殊字符英文小于号(<)或者全部为空格"	
	            },
	            "isChinaOrNumbOrLettBrackets":{
	            	"regex":"^[0-9a-zA-Z\u4e00-\u9fa5()]+$",
	            	"alertText":"只能输入汉字、字母和数字()"	
	            },
	            "isChinaOrNumbOrLettBracketsForAll":{
	            	"regex":"^[0-9a-zA-Z\u4e00-\u9fa5()（）]+$",
	            	"alertText":"只能输入汉字、字母、数字和()"	
	            },
	            "isNumberOr_LetterBrackets":{
	            	"regex":"^[0-9a-zA-Z\_()-]+$",
	            	"alertText":"只能输入英文字母、数字和下划线\n 例如：1213aads_73736jehwury()"	
	            },
	            "isNumberOr_LetterBar":{
	            	"regex":"^[\\\\0-9a-zA-Z\_-]+$",
	            	"alertText":"只能输入英文字母、数字和下划线\n 例如：1213aads_73736jehwury-\\"	
	            },
	            "isSpacailCharForSpecialName":{
	            	"func":function(field, rules, i, options){
	            		var str = $(field).val();
	            		if (str == "")
	        				return true;
	        			var forbidChar = new Array(",","，"," ", "\\", "'","￥","‘","’", "@","!","！","%", "\"", "?", "&", "#",
	        					"^", "》","《","<",">","*","[","]","(",")","（","）","{","}","、","。",".",
	        					"`","~", "+","=", "$","；",";",":","：","|");
	        			for (var i = 0; i < forbidChar.length; i++) {
	        				if (str.indexOf(forbidChar[i]) >= 0) {
	        					return false;
	        				}
	        			}
	        			return true;
	            	},
	            	"alertText":"输入的内容含有特殊字符"
	            },
	            "isQuotationMarks":{
	            	"func":function(field, rules, i, options){
	            		var str = $(field).val();
	            		if (str == "")
	        				return true;
	        			var forbidChar = new Array( "\"", "'");
	        			for (var i = 0; i < forbidChar.length; i++) {
	        				if (str.indexOf(forbidChar[i]) >= 0) {
	        					return false;
	        				}
	        			}
	        			return true;
	            	},
	            	"alertText":"输入的内容含有特殊字符英文单引号(')或者英文双引号(\")"
	            },
	            "isQuotationMarksNew":{
	            	"func":function(field, rules, i, options){
	            		var str = $(field).val();
	            		if (str == "")
	        				return true;
	        			var forbidChar = new Array( "\"", "'","\n");
	        			for (var i = 0; i < forbidChar.length; i++) {
	        				if (str.indexOf(forbidChar[i]) >= 0) {
	        					return false;
	        				}
	        			}
	        			return true;
	            	},
	            	"alertText":"输入的内容含有特殊字符英文单引号(')、回车或者英文双引号(\")"
	            },
	            "isSpacailMark":{
	            	"func":function(field, rules, i, options){
	            		var str = $(field).val();
	            		if (str == "")
	        				return true;
	        			var forbidChar = new Array("&");
	        			for (var i = 0; i < forbidChar.length; i++) {
	        				if (str.indexOf(forbidChar[i]) >= 0) {
	        					return false;
	        				}
	        			}
	        			return true;
	            	},
	            	"alertText":"输入的内容含有&特殊字符"
	            },
	            "IDCard":{
	            	"func":function(field, rules, i, options){
	            		var _v = $(field).val();
	            		if(_v==""){
	        				return true;
	        			}
	        			var area = {
	        				11 : "北京",
	        				12 : "天津",
	        				13 : "河北",
	        				14 : "山西",
	        				15 : "内蒙古",
	        				21 : "辽宁",
	        				22 : "吉林",
	        				23 : "黑龙江",
	        				31 : "上海",
	        				32 : "江苏",
	        				33 : "浙江",
	        				34 : "安徽",
	        				35 : "福建",
	        				36 : "江西",
	        				37 : "山东",
	        				41 : "河南",
	        				42 : "湖北",
	        				43 : "湖南",
	        				44 : "广东",
	        				45 : "广西",
	        				46 : "海南",
	        				50 : "重庆",
	        				51 : "四川",
	        				52 : "贵州",
	        				53 : "云南",
	        				54 : "西藏",
	        				61 : "陕西",
	        				62 : "甘肃",
	        				63 : "青海",
	        				64 : "宁夏",
	        				65 : "新疆",
	        				71 : "台湾",
	        				81 : "香港",
	        				82 : "澳门",
	        				91 : "国外"
	        			}
	        			var Y, JYM;
	        			var S, M,ereg;
	        			var idcard_array = new Array();
	        			idcard_array = _v.split("");
	        			// 地区检验
	        			if (area[parseInt(_v.substr(0, 2))] == null) {
	        				this.IDCardText = "身份证号码地区非法!!,格式例如:32";
	        				return false;
	        			}
	        			// 身份号码位数及格式检验
	        			switch (_v.length) {
	        				case 15 :
	        					if ((parseInt(_v.substr(6, 2)) + 1900) % 4 == 0
	        							|| ((parseInt(_v.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(_v
	        									.substr(6, 2)) + 1900)
	        									% 4 == 0)) {
	        						ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;// 测试出生日期的合法性
	        					} else {
	        						ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;// 测试出生日期的合法性
	        					}
	        					if (ereg.test(_v))
	        						return true;
	        					else {
	        						this.IDCardText = "身份证号码出生日期超出范围,格式例如:19860817";
	        						return false;
	        					}
	        					break;
	        				case 18 :
	        					// 18位身份号码检测
	        					// 出生日期的合法性检查
	        					// 闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
	        					// 平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
	        					if (parseInt(_v.substr(6, 4)) % 4 == 0
	        							|| (parseInt(_v.substr(6, 4)) % 100 == 0 && parseInt(_v
	        									.substr(6, 4))
	        									% 4 == 0)) {
	        						ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;// 闰年出生日期的合法性正则表达式
	        					} else {
	        						ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;// 平年出生日期的合法性正则表达式
	        					}
	        					if (ereg.test(_v)) {// 测试出生日期的合法性
	        						// 计算校验位
	        						S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10]))
	        								* 7
	        								+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11]))
	        								* 9
	        								+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12]))
	        								* 10
	        								+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13]))
	        								* 5
	        								+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14]))
	        								* 8
	        								+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15]))
	        								* 4
	        								+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16]))
	        								* 2
	        								+ parseInt(idcard_array[7])
	        								* 1
	        								+ parseInt(idcard_array[8])
	        								* 6
	        								+ parseInt(idcard_array[9]) * 3;
	        						Y = S % 11;
	        						M = "F";
	        						JYM = "10X98765432";
	        						M = JYM.substr(Y, 1);// 判断校验位
	        						// alert(idcard_array[17]);
	        						if (M == idcard_array[17]) {
	        							return true; // 检测ID的校验位
	        						} else {
	        							this.IDCardText = "身份证号码末位校验位校验出错,请注意x的大小写,格式例如:201X";
	        							return false;
	        						}
	        					} else {
	        						this.IDCardText = "身份证号码出生日期超出范围,格式例如:19860817";
	        						return false;
	        					}
	        					break;
	        				default :
	        					this.IDCardText = "身份证号码位数不对,应该为15位或是18位";
	        					return false;
	        					break;
	        			}
	            	},
	            	"alertText":"该输入项目必须是身份证号码格式，例如：32082919860817201x"
	            }
            };
            
        }
    };
    $.validationEngineLanguage.newLang();
})(jQuery);
